'\" t
.TH "MACHINE\-ID" "5" "" "systemd 231" "machine-id"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
machine-id \- 本机"machine ID"配置文件
.SH "SYNOPSIS"
.PP
/etc/machine\-id
.SH "描述"
.PP
/etc/machine\-id
文件包含一个 在安装操作系统时生成的、专属于本系统的、独一无二的"machine ID"。 "machine ID"是一个32字符长度的十六进制小写字母字符串， 并以换行符结尾， 其本质是一个128位二进制整数的16进制表示。
.PP
"machine ID"通常在系统安装时从一个随机数源生成， 并且之后无论经过多少次开关机，也一直保持不变。 另一方面，对于无状态系统，如果此文件为空， 将在系统启动的早期自动随机生成一个。
.PP
"machine ID"一旦生成应该永远保持不变， 即使系统的硬件发生了变化也不应该修改它。
.PP
这里的"machine ID"与"D\-Bus machine ID" 遵守相同的格式与逻辑。
.PP
无论主机的网络配置如何变化， 应用程序始终可以使用"machine ID" 在全球范围内精确的识别一台主机。基于上述特性， "machine ID" 机制可用于取代 POSIX 的
\fBgethostid\fR(3)
系统调用功能。
.PP
操作系统的安装程序可以在安装时使用
\fBsystemd-machine-id-setup\fR(1)
工具来初始化"machine ID"。 可以使用
\fBsystemd-firstboot\fR(1)
初始化已挂载(但未启动)的系统镜像的"machine ID"。
.PP
还可以通过
\fIsystemd\&.machine_id=\fR
内核引导选项 或者 systemd 的
\fB\-\-machine\-id=\fR
命令行选项 来设置"machine ID"。这种方式经常用于网络启动的场景中。 注意，不可将"machine ID"设为全零值。
.SH "与 OSF UUID 的关系"
.PP
"machine ID"符合
\m[blue]\fBRFC 4122\fR\m[]\&\s-2\u[1]\d\s+2
规范(OSF v4 UUID)， 同时也符合 Microsoft GUID 规范。
.SH "历史"
.PP
/etc/machine\-id
文件的格式源自D\-Bus的
/var/lib/dbus/machine\-id
文件。 实际上，/var/lib/dbus/machine\-id
很可能就是指向
/etc/machine\-id
的一个软连接。
.SH "参见"
.PP
\fBsystemd\fR(1),
\fBsystemd-machine-id-setup\fR(1),
\fBgethostid\fR(3),
\fBhostname\fR(5),
\fBmachine-info\fR(5),
\fBos-release\fR(5),
\fBsd-id128\fR(3),
\fBsd_id128_get_machine\fR(3),
\fBsystemd-firstboot\fR(1)
.SH "NOTES"
.IP " 1." 4
RFC 4122
.RS 4
\%https://tools.ietf.org/html/rfc4122
.RE
.\" manpages-zh translator: 金步国
.\" manpages-zh comment: 金步国作品集：http://www.jinbuguo.com
